Controller Product
Chapeau
Probleem
De controller moet de volgende use cases implemeteren:
- Product Administrating
- Product Inserting
- Product Insert
- Product Updating
- Product Update
- Product Delete
Design
Oplossing
using System; using System.Collections.Generic; using System.Configuration; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.Mvc; namespace Webwinkel.Controllers { public class ProductController : Controller { public ActionResult Administrating() { Dal.Product dal = new Dal.Product(); ViewBag.Message = "Beheer producten"; ViewBag.DatabaseMessage = dal.Message; return View(dal.ReadAll()); } public ActionResult Inserting() { ViewBag.Message = "Een postcode inserten"; return View(); } [HttpPost] public ActionResult Insert(Models.Product product) { if (ModelState.IsValid) { ViewBag.Message = "Insert een product in de database"; Dal.Product dal = new Dal.Product(product); dal.Create(); return View("Administrating", dal.ReadAll()); } else { ModelState.AddModelError( "Ongeldige gegevens", "Naam van product moet ingevuld zijn."); return View("Administrating"); } } [HttpGet] // ? zorgt er voor dat een null value geen fout geeft public ActionResult Updating(int? id) { if (id == null) { ViewBag.Message = "Ongeldige Id"; return View(); } else { // lookup product to update Models.Product product = new Models.Product(); // store Product Id product.Id = (int) id; Dal.Product dal = new Dal.Product(product); product = dal.ReadOne(); ViewBag.Message = "Updating product"; return View(product); } } [HttpGet] // ? zorgt er voor dat een null value geen fout geeft public ActionResult Delete(int? id) { if (id == null) { ViewBag.Message = "Ongeldige Id"; return View("Administrating"); } else { // lookup product to update Models.Product product = new Models.Product(); // store Product Id product.Id = (int)id; Dal.Product dal = new Dal.Product(product); dal.Delete(); ViewBag.Message = "Product deleted"; return View("Administrating", dal.ReadAll()); } } [HttpPost] // ? zorgt er voor dat een null value geen fout geeft public ActionResult Update(Models.Product product) { if (ModelState.IsValid) { Dal.Product dal = new Dal.Product(product); dal.Update(); ViewBag.Message = "Product is geüpdated."; return View("Administrating", dal.ReadAll()); } else { ModelState.AddModelError( "Ongeldige gegevens", "Zie details voor meer uitleg."); return View("Administrating"); } } } }
2015-10-15 12:50:03